package com.pzb.order.service;

import com.pzb.common.core.domain.AjaxResult;
import com.pzb.order.domain.CheckOutModel;
import com.pzb.order.domain.OdOrder;
import com.pzb.order.domain.OdOrderDetail;

import java.util.List;

/**
 * 订单管理Service接口
 * 
 * @author Mr_Wu
 * @date 2021-12-15
 */
public interface IOdOrderService 
{

    /**
     * 新增订单管理
     *
     * @param odOrder 订单管理
     * @return 结果
     */
    public int insertOdOrder(OdOrder odOrder);

    /**
     * 查询订单管理
     * 
     * @param id 订单管理主键
     * @return 订单管理
     */
    public OdOrder selectOdOrderById(Long id);

    /**
     * 查询订单管理列表
     * 
     * @param odOrder 订单管理
     * @return 订单管理集合
     */
    public List<OdOrder> selectOdOrderList(OdOrder odOrder);

    /**
     * 修改订单管理
     * 
     * @param odOrder 订单管理
     * @return 结果
     */
    public int updateOdOrder(OdOrder odOrder);

    public OdOrder selectOrderDetailById(Long id);

    public OdOrder selectOdOrderByOrderCode(String orderCode);

    public int todoOrderCount(String openid,String extAppid,String orderStatus,String payStatus);

    AjaxResult submitOrder(CheckOutModel model);

    AjaxResult pay(Long orderId, String payType, String extAppid, String openid,String ip);

    public int updateOrderStatus(Long orderId, String s);

    public List<OdOrderDetail> commentList(Long orderId);

    public AjaxResult createOrder(CheckOutModel model);

    public int commentSubmit(OdOrder order);

    //取消订单
    public int cancelOrder(Long orderId);
}
